Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Кафедра «Захисту інформації»
Звіт
Про виконання лабораторної роботи №5,6
На тему: «РОЗРАХУНОК ТА РЕАЛІЗАЦІЯ РЕКУРСИВНИХ ТА НЕРЕКУРСИВНИХ ЦИФРОВИХ ФІЛЬТРІВ»
Варіант №20
Мета роботи – отримати навики розрахунку параметрів і характеристик рекурсивних цифрових фільтрів, а також навчитися застосовувати засоби програмного пакету Simulink MatLab для їх реалізації та дослідження.
Завдання 1
1.Ознайомитись із теоретичними відомостями.
2.Розрахувати мінімально необхідний порядок РЦФ для забезпечення поставлених у таблиці 1 вимог.
Таблиця 1
№
Тип фільтру
Fс,
Гц
Rs, дБ
n,
порядок
20 (4)
ФВЧ Чебишева 1-ого роду
700
3.0
6
Лістинг програми 1-го завдання
%Вхідні параметри фільтра
Fc=700; % частота зрізу
wc=[2*pi*Fc];
n=6; % порядок фільтра
Rs=3; % рівень пульсації АЧХ у смузі заникання
%Коеф. АФ
[bs,as] = cheby1(n,Rs,wc,'high','s'); %'s' для АФ
%Графіки
w=logspace(1,4); % вектор частот у логарифм. масштабі
Hs=freqs(bs,as,w); % ПФ
Ms=abs(Hs);
As=angle(Hs);
subplot(2,1,1);
loglog(w/(2*pi),Ms); grid; axis([20 2000 10^-5 2 ]);
subplot(2,1,2);
semilogx(w/(2*pi),As);grid;axis([20 2000 -pi pi ]);
% Перехід до цифрового прототипу
Fs=2000; % частота вибірок
Fp=1200; % збіжність до тієї частоти
[bd,ad]=bilinear(bs,as,Fs,Fp);
figure(2);
freqz(bd,ad); %Графіки АЧХ і ФЧХ ЦФ
% Безпосереднє обчислення коеф. ПФ РЦФ
[bz,az] = cheby1(n, Rs, 2*Fc/Fs,'high' );
figure(3);
freqz(bz,az);
% Альтернативнивне проектування РЦФ методом "yulewolk"
F=[0 0.3 0.8 0.8 0.8 1];
M=[0 0 0 1 1 1];
[by,ay]=yulewalk(2*n,F,M);
[Hy,fy]=freqz(by,ay,32);
N=2^5;
f=0:1/32:1000;
H=freqz(bz,az,f,Fs);
figure(4);
plot(F,M,fy/pi,abs(Hy),2*f/Fs,abs(H));
S=21;
T=0.2;N=2^12;Ts=T/N; t=0:Ts:T; % вектор часу
A=1; fo=100; w=2*pi*fo; % параметри сигналу
x=A*diric(w*t,S);
X=fft(x);
df=1/T; Fmax=1/Ts; F=-Fmax/2:df:Fmax/2;
cx=fftshift(X);
Cx=abs(cx)*Ts/T;
figure(6),
subplot(2,1,1);
plot(t(N/2-500:N/2+500),x(N/2-500:N/2+500))
grid,set(gca,'FontName','Ariel','FontSize',11)
title('Sygnal Dirichlet n')
xlabel('Time (s)'),ylabel('Signal X(t)')
subplot(2,1,2);
stem(F(N/2-500:N/2+500),Cx(N/2-500:N/2+500)),grid,set(gca,'FontName','Ariel','FontSize',11)
%axis([-(S+5)*fo/2 (S+5)*fo/2+1 0 2/S]),
title('Spectr Dirichlet n')
xlabel('Frequency (Hz)'),ylabel('Modul')
y=filter(bz,az,x);
Y=fft(y);
df=1/T; Fmax=1/Ts; F=-Fmax/2:df:Fmax/2;
cy=fftshift(Y);
Cy=abs(cy)*Ts/T;
figure(7),
subplot(2,1,1);
plot(t(N/2-500:N/2+500),y(N/2-500:N/2+500))
grid,set(gca,'FontName','Ariel','FontSize',11)
title('Sygnal Dirichlet n')
xlabel('Time (s)'),ylabel('Signal X(t)')
subplot(2,1,2);
stem(F(N/2-500:N/2+500),Cy(N/2-500:N/2+500)),grid,set(gca,'FontName','Ariel','FontSize',11)
%axis([-(S+5)*fo/2 (S+5)*fo/2+1 0 2/S]),
title('Spectr Dirichlet n')
xlabel('Frequency (Hz)'),ylabel('Modul')
Результати роботи програми
Завдання 2
1.Ознайомитись із теоретичними відомостями.
2. Розрахувати перші 5 коефіцієнтів нерекурсивного фільтра згідно заданого варіанту (таблиця 2) без накладання вікна.
Таблиця 2
№
Тип фільтру
Fс,
Гц
n,
порядок
20 (4)
ФВЧ Чебишева 1-ого роду
700
25
Лістинг програми 2-го завдання
%Вхідні параметри НЦФ
n=25;N=2^10;
Fs=2000;Fq=Fs/2;
Fc=700;
Fcn=Fc/Fq;
Wc=Fc*pi;
df=1; f=0:df:Fq;
Hid=rectpuls(f-1200,Fc); %АЧХ ідеального фільтра
hio=fft(Hid); % Імпульсна характеристика ідеального фільтра
dt=1/Fq; Tm=1/df; t=-Tm/2:dt:Tm/2;
hiz=fftshift(hio)*df/Fq; %Комплексний спектр
hid=abs(hiz); %Амплітудний спектр тобто імпульсна характеристика ідеального фільтра
Win=dt*n; %Ширина прямокутного вікна
hrz=hiz.*rectpuls...